// Copyright (c) 2023, hzmes and contributors
// For license information, please see license.txt

frappe.ui.form.on('SRM Supplier Approval L2L3', {
	// refresh: function(frm) {
	// 	// 创建时applicant_by填充为当前用户
	// 	if(frm.is_new()) {frm.set_value({"applicant_by": frappe.session.user_fullname})}
	// 	if(!frm.doc.user && !frm.is_new()) {
	// 		// 链接详细供应商档案Form
	// 		frm.add_custom_button(__("档案详情"), function() {
	// 			frappe.set_route("Form", "SRM Supplier", frm.doc.supplier_number);
	// 		});
	// 	}
	// 	if(!frm.doc.user && !frm.is_new()) {
	// 		// 链接详细供应商档案Form
	// 		frm.add_custom_button(__("公司简介链接"), function() {
	// 			if(!frm.doc.company_introduction_link) {frappe.msgprint("未提供公司简介附件")}
	// 			else if (frm.doc.company_introduction_link) {
	// 					frappe.msgprint({
	// 						title: __('公司简介附件下载'),
	// 						indicator: 'green',
	// 						message: __(`<a href=${frm.doc.company_introduction_link}>公司简介附件下载链接</a>`)
	// 					});
	// 			}
	// 		});
	// 	}
	// 	if (!frm.is_new() && frappe.user_roles.includes('SRM Purchase')) {
	// 		// 推送至OA走移动审批
	// 		frm.add_custom_button(__('Sync OA'), () => {
	// 			if(!frm.doc.oa_billno && frm.doc.workflow_state == '总监审核') {
	// 				frappe.call({
	// 					method: "sync_to_oa_workfolw",
	// 					doc: frm.doc,
	// 					args: {},
	// 					freeze: true,
	// 					freeze_message: __("running..."),
	// 					callback: function(r) {
	// 						console.log(r.message);
	// 						frm.refresh_field('oa_billno');
	// 						frappe.msgprint(`启动OA审批流成功, 单据ID: ${frm.doc.oa_billno}`);
	// 					}
	// 				})
	// 			}
	// 			else if (frm.doc.oa_billno) { frappe.msgprint(`已经在走审批流程${frm.doc.oa_billno}`)}
	// 			else if (frm.doc.workflow_state != '总监审核') { frappe.msgprint(__(`当前单据状态: ${frm.doc.workflow_state} *** 不允许走OA审批`))}
	// 		}, 'OA审批')
	// 	}
	// 	if (!frm.is_new() && frappe.user_roles.includes('SRM Purchase')) {
	// 		// 轮询OA的审批结果
	// 		frm.add_custom_button(__('Query OA'), () => {
	// 			if(frm.doc.workflow_state == '总监审核'  && frm.doc.oa_billno ) {
	// 				frappe.call({
	// 					method: "query_oa_workfolw",
	// 					doc: frm.doc,
	// 					args: {query_billId: frm.doc.oa_billno},
	// 					freeze: true,
	// 					freeze_message: __("running..."),
	// 					callback: function(r) {
	// 						console.log(r.message);
	// 						if (r.message) {
	// 							// 审批中未有结果
	// 							if (r.message[0].billStatus === 1) {frappe.msgprint(`OA系统单据状态:${r.message[0].billStatusName} *** OA当前待审批人: ${r.message[0].taskAuditUserName}`)}
	// 							// 在OA中被驳回或审批通过
	// 							if (r.message[0].billStatus != 1) {frappe.msgprint(`OA系统单据状态:${r.message[0].billStatusName} *** 手动同步完成`)}
	// 						}
	// 					}
	// 				})
	// 			}
	// 			else if (!frm.doc.oa_billno) { frappe.msgprint(`没有对应审批流程`)}
	// 			else if (frm.doc.workflow_state != '总监审核') {frappe.msgprint(__(`当前单据状态${frm.doc.workflow_state}已同步完成`))}
	// 		}, 'OA审批')
	// 	}
	// 	if (!frm.is_new() && frappe.user_roles.includes('SRM Purchase') && frm.doc.oa_billno) {
	// 		// 撤回OA的审批单
	// 		frm.add_custom_button(__('Del From OA'), () => {
	// 			if(frm.doc.workflow_state == '总监审核' ) {
	// 				frappe.call({
	// 					method: "sync_del_oa_workfolw",
	// 					doc: frm.doc,
	// 					args: {query_billId: frm.doc.oa_billno},
	// 					freeze: true,
	// 					freeze_message: __("running..."),
	// 					callback: function(r) {
	// 						console.log(r.message);
	// 						frm.refresh_field('oa_billno');
	// 						frappe.msgprint('撤回成功!');
	// 					}
	// 				})
	// 			}
	// 			else {frappe.msgprint(__(`当前单据状态${frm.doc.workflow_state}不允许撤回`))}
	// 		}, 'OA审批')
	// 	}
	// },

	// // 审批流之后: alert提示成功, 修改相关的字段
	// after_workflow_action: function(frm) {
	// 	        console.log(frm.doc.workflow_state);
	// 			if (frm.doc.workflow_state === "Save") {
	// 				if (frm.doc.reviewe_by) {frm.set_value({reviewe_by: undefined});}
	// 				if (frm.doc.checke_by) {frm.set_value({checke_by: undefined});}
	// 				if (frm.doc.approve_by) {frm.set_value({approve_by: undefined});}
	// 			}
	// 			if (frm.doc.workflow_state === "经理审核") {
	// 				frm.set_value({reviewe_by: frappe.session.user_fullname});
	// 				if (frm.doc.checke_by) {frm.set_value({checke_by: undefined});}
	// 				if (frm.doc.approve_by) {frm.set_value({approve_by: undefined});}
	// 			}
	// 			if (frm.doc.workflow_state === "总监审核") {
	// 				frm.set_value({checke_by: frappe.session.user_fullname});
	// 				if (frm.doc.approve_by) {frm.set_value({approve_by: undefined});}
	// 			}
	// 			// if (frm.doc.workflow_state === "Finish") {
	// 			// 	frm.set_value({approve_by: frappe.session.user_fullname});
	// 			// }
	// 			// if (frm.doc.workflow_state === "Rejected") {
	// 			// 	frm.set_value({approve_by: frappe.session.user_fullname});
	// 			// }
	// 			frm.save();
	// 			frappe.show_alert(__(`${frm.doc.workflow_state}审批流成功!`));
	// 			// frm.script_manager.trigger("checke_by");
	// },

	// 总监审核后触发同步至OA生成审批单
	// checke_by: function(frm) {
	// 	if (frm.doc.checke_by){
	// 		frm.call('sync_to_oa_workfolw')
	// 		.then((r) => {frappe.show_alert(`启动OA审批流成功, 单据ID: ${r.message}`, 5)})
	// 	}
	// }
});
